package com.wx.demo.wcd.pub;

import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;

/**
 * ReturnData 封装对页面请求的返回信息。 包括返回码、提示信息和具体的业务数据，其中具体业务数据内容视泛型具体类型而定。
 * 当某个属性值为null时，该属性不参与JSON序列化。
 *
 * @author YJHL
 * @since JDK 1.8
 * @version 1.0.0
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ReturnData<E> implements Serializable {
	private static final long serialVersionUID = 1L;
	/**
	 * 时间戳
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date logTime;

	/**
	 * 返回码
	 */
	private String returnCode;
	/**
	 * 返回信息
	 */
	private String returnMsg;
	/**
	 * 返回数据
	 */
	private E data;

	public Date getLogTime() {
		return logTime;
	}

	public void setLogTime(Date logTime) {
		this.logTime = logTime;
	}

	public String getReturnCode() {
		return returnCode;
	}

	public void setReturnCode(String returnCode) {
		this.returnCode = returnCode;
	}

	public String getReturnMsg() {
		return returnMsg;
	}

	public void setReturnMsg(String returnMsg) {
		this.returnMsg = returnMsg;
	}

	public E getData() {
		return data;
	}

	public void setData(E data) {
		this.data = data;
	}

}
